package com.nanhai.buddhist.college.module.collegebase.dal.dataobject.professions;

import lombok.*;
import java.util.*;
import com.baomidou.mybatisplus.annotation.*;
import com.nanhai.buddhist.college.framework.mybatis.core.dataobject.BaseDO;

/**
 * 学校管理--专业 DO
 *
 * @author 开发
 */
@TableName("t_school_professions")
@KeySequence("t_school_professions_seq") // 用于 Oracle、PostgreSQL、Kingbase、DB2、H2 数据库的主键自增。如果是 MySQL 等数据库，可不写。
@Data
@EqualsAndHashCode(callSuper = true)
@ToString(callSuper = true)
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class ProfessionsDO extends BaseDO {

    /**
     * id
     */
    @TableId(type = IdType.ASSIGN_UUID)
    private String id;
    /**
     * 专业编号
     */
    private String professionNumber;
    /**
     * 专业名称
     */
    private String professionName;
    /**
     * 专业代码
     */
    private String professionCode;
    /**
     * 所属系部
     */
    private String departmentsId;
    /**
     * 负责人
     */
    private String userId;
    /**
     * 专业层级
     */
    private String hierarchy;

    /**
     * 学年
     */
    private String schoolYear;

    /**
     * 英语名称
     */
    private String englishName;

    /**
     * 专业介绍
     */
    private String introduce;
    /**
     * 开设时间
     */
    private Date openingTime;
    /**
     * 机构编号
     */
    private Integer orgId;
    /**
     * 备注
     */
    private String remark;

    /**
     * 计数器用于代码生成
     */
    private Integer  professionCounter;

    //  分割线 --------------------- 上边是表字段  下边是业务查询字段
    /**
     * 系部名称
     */
    @TableField(exist = false)
    private String departName;

    /**
     * 学生数量
     */
    @TableField(exist = false)
    private Long studentCount;
    /**
     * 教师数量
     */
    @TableField(exist = false)
    private Long teacherCount;

    /**
     * 学院昵称
     */
    @TableField(exist = false)
    private String collegeName;

    @TableField(exist = false)
    private String collegeId;


}
